package com.vegetable.modules.mapper.sys;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.vegetable.modules.entity.sys.SysMessageEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 系统消息Dao
 *
 * @author Qoder
 */
@Mapper
public interface SysMessageDao extends BaseMapper<SysMessageEntity> {

    /**
     * 查询用户未读消息数量
     *
     * @param receiverUserId 接收用户ID
     * @return 未读消息数量
     */
    Integer queryUnreadCount(@Param("receiverUserId") Long receiverUserId);

    /**
     * 查询用户消息列表
     *
     * @param page           分页参数
     * @param receiverUserId 接收用户ID
     * @return 消息列表
     */
    IPage<SysMessageEntity> queryMessageList(IPage<SysMessageEntity> page, @Param("receiverUserId") Long receiverUserId);

    /**
     * 查询用户未读消息列表
     *
     * @param receiverUserId 接收用户ID
     * @return 未读消息列表
     */
    List<SysMessageEntity> queryUnreadMessageList(@Param("receiverUserId") Long receiverUserId);
}